package com.zh.work.entity.trans;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.zh.common.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

@ApiModel("网关订单实体信息")
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("online_order")
@JsonInclude(JsonInclude.Include.NON_NULL)
public class OnlineOrderEntity extends BaseEntity {

  private static final long serialVersionUID = 1894476108445640249L;

  @ApiModelProperty(value = "主键", name = "id")
  @TableId(value = "id", type = IdType.AUTO)
  private Integer id;
  @ApiModelProperty(value = "交易日期", name = "transDate")
  private String transDate;
  @ApiModelProperty(value = "交易时间", name = "transTime")
  private String transTime;
  @ApiModelProperty(value = "机构号", name = "branchNo")
  @TableField(value = "branchno")
  private String branchNo;
  @ApiModelProperty(value = "机构名称", name = "branchName")
  private String branchName;
  @ApiModelProperty(value = "代理商号", name = "agentNo")
  @TableField(value = "agentno")
  private String agentNo;
  @ApiModelProperty(value = "代理商名称", name = "agentName")
  private String agentName;
  @ApiModelProperty(value = "商户号", name = "merchNo")
  @TableField(value = "merchno")
  private String merchNo;
  @ApiModelProperty(value = "商户名称", name = "merchName")
  private String merchName;
  @ApiModelProperty(value = "商户订单号", name = "merchOrderNo")
  @TableField(value = "merch_orderno")
  private String merchOrderNo;
  @ApiModelProperty(value = "主键", name = "systemOrderNo")
  @TableField(value = "system_orderno")
  private String systemOrderNo;
  @ApiModelProperty(value = "交易金额", name = "amount")
  private Float amount;
  @ApiModelProperty(value = "渠道编码", name = "channelCode")
  private String channelCode;
  @ApiModelProperty(value = "渠道商户号号", name = "channelMerchNo")
  @TableField(value = "channel_merchno")
  private String channelMerchNo;
  @ApiModelProperty(value = "交易状态(0-下单成功 1-支付成功 2-支付失败)", name = "status")
  private Integer status;
  @ApiModelProperty(value = "结算类型(1-T+0结算 2-T+1结算)", name = "settleType")
  private Integer settleType;
  @ApiModelProperty(value = "卡类型 1-借记卡 2-信用卡 3-其它", name = "cardType")
  private Integer cardType;
  @ApiModelProperty(value = "银行编码", name = "bankCode")
  private String bankCode;
  @ApiModelProperty(value = "银行名称", name = "bankName")
  private String bankName;
  @ApiModelProperty(value = "通知地址", name = "notifyUrl")
  private String notifyUrl;
  @ApiModelProperty(value = "返回地址", name = "returnUrl")
  private String returnUrl;
  @ApiModelProperty(value = "查询次数", name = "queryCount")
  private Integer queryCount;
  @ApiModelProperty(value = "最后查询时间", name = "lastQueryTime")
  private String lastQueryTime;
  @ApiModelProperty(value = "渠道订单号", name = "channelOrderNo")
  @TableField(value = "channel_orderno")
  private String channelOrderNo;
  @ApiModelProperty(value = "商户手续费", name = "merchFee")
  private Float merchFee;
  @ApiModelProperty(value = "渠道手续费", name = "channelFee")
  private Float channelFee;
  @ApiModelProperty(value = "机构手续费", name = "branchFee")
  private Float branchFee;
  @ApiModelProperty(value = "代理商手续费", name = "agentFee")
  private Float agentFee;
  @ApiModelProperty(value = "代理商2手续费", name = "agentFeeTwo")
  private Float agentFeeTwo;
  @ApiModelProperty(value = "代理商3手续费", name = "agentFeeThree")
  private Float agentFeeThree;
  @ApiModelProperty(value = "开始金额", name = "amtBegin")
  @TableField(exist = false)
  private Float amtBegin;
  @ApiModelProperty(value = "结束金额", name = "amtEnd")
  @TableField(exist = false)
  private Float amtEnd;

}
